Cross-Site Request Forgery (CSRF) প্রতিরোধ

Microsoft Technologies - এএসপি ডট নেট ওয়েব (ASP.Net WP) ASP.NET Web Forms এ Security Features |
193
193

Cross-Site Request Forgery (CSRF) হলো একটি সাইবার আক্রমণ যেখানে আক্রমণকারী একটি ব্যবহারকারীর অনুমতি ছাড়া তার ওয়েব অ্যাপ্লিকেশনে ক্ষতিকারক কার্যক্রম সম্পাদন করতে পারে। এই আক্রমণ সাধারণত ঘটে যখন একটি ব্যবহারকারী লগ ইন অবস্থায় থাকে এবং আক্রমণকারী একটি অননুমোদিত রিকোয়েস্ট পাঠানোর মাধ্যমে তার পক্ষ থেকে অপারেশন সম্পন্ন করে। এই আক্রমণ প্রতিরোধে ASP.NET Web Forms বেশ কিছু উপায় প্রদান করে, যার মধ্যে রয়েছে Anti-Forgery Tokens এবং অন্যান্য নিরাপত্তা ব্যবস্থা।


CSRF আক্রমণের প্রকৃতি

CSRF আক্রমণের মধ্যে আক্রমণকারী একটি malicious request তৈরি করে এবং একটি ইতিমধ্যে লগিন করা ব্যবহারকারীর পক্ষ থেকে সেই রিকোয়েস্টটি সম্পন্ন করার জন্য তৈরি করে। এই রিকোয়েস্টটি সাধারণত কোন সার্ভারে উপযুক্ত প্রমাণীকরণ বা অনুমোদন ছাড়াই করা হয়, কারণ ব্যবহারকারী ইতিমধ্যেই লগ ইন অবস্থায় থাকে এবং তার ব্রাউজারে সেশন কুকি সেভ করা থাকে।


CSRF প্রতিরোধের কৌশল

ASP.NET Web Forms এ CSRF প্রতিরোধের জন্য বেশ কয়েকটি কার্যকরী কৌশল রয়েছে। এর মধ্যে অন্যতম হল Anti-Forgery Token ব্যবহার করা। এই টোকেনের মাধ্যমে প্রতিটি রিকোয়েস্টের সাথে একটি অনন্য নিরাপত্তা টোকেন যুক্ত করা হয়, যা সার্ভারে যাচাই করা হয়। যদি টোকেনটি সঠিক না হয়, তবে রিকোয়েস্টটি বাতিল করা হয়।

Anti-Forgery Token ব্যবহার

ASP.NET Web Forms এ CSRF আক্রমণ থেকে রক্ষা পেতে Anti-Forgery Token ব্যবহার করা যেতে পারে। এই টোকেন একটি বিশেষ সিকিউরিটি টোকেন যা ফর্ম সাবমিট করার সময় ব্যবহারকারীর সেশন বা কুকির সাথে যুক্ত করা হয়। যদি এটি খারাপ বা অনুপস্থিত থাকে, তবে রিকোয়েস্টটি বাতিল হয়ে যায়।

Anti-Forgery Token জেনারেট এবং ভেরিফাই করা

ASP.NET Web Forms এ Anti-Forgery Token বাস্তবায়ন করার জন্য, একটি গোপন টোকেন তৈরি করতে হবে এবং তারপর সেটি ফর্মের সাথে পাঠাতে হবে। এতে টোকেনটি প্রতিটি রিকোয়েস্টের সাথে সঠিকভাবে যাচাই করা যাবে।

Token জেনারেট করা

প্রথমে, ফর্মের জন্য একটি hidden field তৈরি করতে হবে যা অ্যান্টি-ফর্গারি টোকেন ধারণ করবে।

<form id="form1" runat="server">
    <asp:HiddenField ID="antiForgeryToken" runat="server" />
    <input type="submit" value="Submit" />
</form>
টোকেন যাচাই করা

ফর্ম সাবমিটের পর, code-behind ফাইলে টোকেনের যাচাই করতে হবে।

protected void Page_Load(object sender, EventArgs e)
{
    if (IsPostBack)
    {
        string submittedToken = Request.Form["antiForgeryToken"];
        string sessionToken = Session["antiForgeryToken"] as string;

        if (submittedToken != sessionToken)
        {
            // CSRF আক্রমণ শনাক্ত হয়েছে
            Response.Write("Potential CSRF attack detected!");
        }
        else
        {
            // ফর্ম ডাটা প্রসেস করা হবে
        }
    }
}

protected void Page_PreRender(object sender, EventArgs e)
{
    string token = Guid.NewGuid().ToString();
    Session["antiForgeryToken"] = token;
    antiForgeryToken.Value = token; // Token ফর্মের hidden field এ সেট করা হবে
}
ব্যাখ্যা:
  • Session["antiForgeryToken"]: একটি সেশন ভেরিয়েবল হিসেবে নিরাপত্তা টোকেন রাখা হয়।
  • Request.Form["antiForgeryToken"]: ব্যবহারকারীর পাঠানো টোকেন পরীক্ষা করা হয়।

ASP.NET Web Forms এ CSRF প্রতিরোধের অন্যান্য কৌশল

  1. SameSite Cookies: Web Forms অ্যাপ্লিকেশনগুলোতে SameSite cookie সেট করা যেতে পারে, যাতে কুকি শুধুমাত্র সেই ডোমেইন থেকে রিকোয়েস্ট পাঠানোর সময় পাঠানো হয়, যা কুকির মালিক।

    উদাহরণস্বরূপ:

    HttpCookie cookie = new HttpCookie("userSession");
    cookie.SameSite = SameSiteMode.Strict;
    Response.Cookies.Add(cookie);
    
  2. Re-authentication: গুরুত্বপূর্ণ রিকোয়েস্ট যেমন পাসওয়ার্ড চেঞ্জ বা টাকা ট্রান্সফারের জন্য, ব্যবহারকারীকে আবার লগ ইন করতে বলা যেতে পারে।
  3. Referer Header Validation: প্রতিটি রিকোয়েস্টের সাথে Referer header যাচাই করে নিশ্চিত করা যেতে পারে যে রিকোয়েস্টটি বৈধ উৎস থেকে এসেছে।
  4. CAPTCHA: সিস্টেমে ফর্ম সাবমিটের জন্য CAPTCHA ব্যবহার করা যেতে পারে, যাতে অটোমেটেড আক্রমণগুলো প্রতিরোধ করা যায়।

সারাংশ

Cross-Site Request Forgery (CSRF) আক্রমণ থেকে সুরক্ষিত থাকার জন্য ASP.NET Web Forms এ Anti-Forgery Token এর ব্যবহার একটি অত্যন্ত কার্যকরী পদ্ধতি। এর মাধ্যমে একটি অনন্য সিকিউরিটি টোকেন তৈরি করা হয়, যা ফর্ম সাবমিটের সময় যাচাই করা হয় এবং যদি সঠিক না হয় তবে রিকোয়েস্ট বাতিল হয়ে যায়। এছাড়া, SameSite Cookies, Re-authentication, এবং Referer Header Validation এর মতো অন্যান্য নিরাপত্তা পদ্ধতিগুলোও CSRF আক্রমণ প্রতিরোধে সাহায্য করে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion